\chapter{Méthode de travail et répartition des tâches}

Notre processus de développement est itératif.
Notre méthode de travail s'inspire donc des méthodes agiles, et de
l'\textit{extreme programming}. Nous prenons ce qui nous convient dans chacune
d'entre elles pour concevoir la nôtre. Cela se reflète sur notre diagramme
de gantt, il arbore une forme en cascade.
Les conséquences de ce choix sont que nous favorisons une communication accrue
entre les membres et une grande souplesse de la répartition du travail, notamment en mettant en place des binomes flottants.
Pour rendre simple cette communication au sein du groupe et communiquer en temps réel l'état d'avancement de celui-ci, nous avons mis en place une plateforme de développement utilisant l'outil code de google, qui permet
de gérer en un endroit un serveur de version, un wiki pour la documentation,
un système de communication des difficultés courantes, et un groupe de communication faisant office de forum.
En plus de celà nous fixons une après midi de codage intensive "hackaton" en fin de semaine où nous sommes groupés dans une salle de tp, pour résoudre les bugs non résolus avant le déploiement intermédiaire, pour auditer en profondeur les codes des autres, et faire un bilan ou mettre à jour le processus.

Autour des outils de gestion mis en place, un ensemble de bonnes
pratiques qui nous viennent principalement du livre \textit{Code complete} de Steve Mc Connel vont être utilisées.
A cela s'ajoute un ensemble de bonnes pratiques pour la sécurité dont la
source d'inspiration est \textit{Secure Code} du même auteur.

Nous avons choisi d'utiliser:
\begin{itemize}

\item Eclipse pour la plateforme principale de développement.

\item Eclipse PDT pour fournir en environnement personnalisé en PHP dans Eclipse.

\item PhpUnit pour automatiser les tests unitaires.

\item dOxygen pour avoir du code autodocumenté.

\item Subeclipse pour accéder au serveur de version.

\item ArgoUML pour la modélisation de la solution.

\item GanttProject pour planifier à l'aide du diagramme de Gantt.

\item Texmaker pour rédiger la documentation relative à la solution.

\end{itemize}

L'idée qui a motivé notre choix réside dans la simplicité
et dans la centralisation des outils, et des efforts d'apprentissage de ceux-ci.
Mais la simplicité n'a pas été sacrifié pour centraliser à tout prix dans eclipse. Et c'est ce qui a motivé le choix
d' ArgoUML et Ganttproject pour la modélisation et la planification.


Pour ce qui est de la communication avec M. Lafourcade
nous avons fixé avec lui un créneau pour un rendez-vous hebdomadaire, puis nous lui
avons donné accès à notre plateforme de développement.
D'autre part pour les communications plus informelles nous
utilisons un logiciel de messagerie instantanée.


%D